<?php
class SubscForm extends CFormModel {

    public $email;
    
    public function rules() {
        return array(
            array('email', 'email', 'message'=>'Ошибка в имейле', 'allowEmpty'=>false),
            array('email', 'isUnique'),
        );
    }
    
    public function isUnique($attribute, $params) {
        if(!empty($attribute)) {
            $data = Yii::app()->db->createCommand()->select('id')->from('subscribers')->where('email="'.$this->$attribute.'"')->queryRow();
            if(!empty($data)) $this->addError('email', 'Похоже вы уже подписаны');
        }
    }
    
    public function beforeValidate() {
        if(!parent::beforeValidate()) return false;
        $this->attributes = $_POST[get_class($this)];
        return true;
    }
}